//////////////////////////////////////////////////////////////////////////

#ifndef _PACKET_H_
#define _PACKET_H_

//////////////////////////////////////////////////////////////////////////

#include <vector>

//////////////////////////////////////////////////////////////////////////


/** Class for network packets
*
*  @author   Roman Pasechnik
*  @since    Jul 04th, 2009
*  @updated  Jul 04th, 2009
*/
class Packet
{
//////////////////////////////////////////////////////////////////////////

public:

//////////////////////////////////////////////////////////////////////////


    /** Constructor */
    Packet ( const char* _data = NULL, size_t _length = 0 );


//////////////////////////////////////////////////////////////////////////


    /** Get data */
    const char* Data() const;


    /** Get data size */
    size_t Size() const;


//////////////////////////////////////////////////////////////////////////

protected:

//////////////////////////////////////////////////////////////////////////


    /** Packet data */
    std::vector<char> m_Data;


//////////////////////////////////////////////////////////////////////////
};


//////////////////////////////////////////////////////////////////////////

#endif

//////////////////////////////////////////////////////////////////////////
